TCP_Connect-Baustein

Kurz-Information

Name

TCP_Connect

→POE-Typ

→Funktion

Kategorie

Weitere Systembausteine, Netzwerkbausteine, Baustein mit interner Fehlerdiagnose

→Namespace

logicals.system.network.tcp

Grafische Schnittstelle

Verfügbar ab

Version 3.2.2 (für Bibliothek Standard)

(Warnung) Dieser Baustein wird nur für diese Zielsysteme oder Plattformen unterstützt:

  • Raspberry Pi,  Revolution Pi

  • Plattform WindowsX86 (inkl. der integrierten SPS unter Windows)

  • Plattform LinuxX86

Funktionalität

Der Baustein stellt eine Verbindung zu einem →TCP-Server her.

Eingänge, Ausgänge, Ergebniswert

 

Bezeichner

→Datentyp

Beschreibung

Eingänge:

destinationAddress

DWORD

IP-Adresse des Ziels

destinationPort

UINT

IP-Port des Ziels

interfaceAddress

DWORD

IP-Adresse der Netzwerkschnittstelle

interfacePort

UINT

IP-Port der Netzwerkschnittstelle

Ausgänge:

clientHandle

TCP_ClientHandle

Handel der reservierten Adresse und des reservierten Ports

Ergebniswert:

rc

TCP_ErrorCode

liefert den Status der TCP-Operation:

succeeded: Die Operation ist erfolgreich.

cannotCreateSocket: Socket kann nicht erstellt werden.

cannotBindSocket: Socket für die Schnittstelle kann nicht gebunden werden.

cannotConnectToServer: Die Verbindung zum Server kann nicht erstellt werden.

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Informieren Sie sich unter:

Interne Fehlerdiagnose für Baustein

Der Baustein prüft die folgenden Fehlerfälle:

  • Socket kann nicht erstellt werden.

  • Socket für die Schnittstelle kann nicht gebunden werden.

  • Die Verbindung zum Server kann nicht erstellt werden.

In einem solchen Fehlerfall wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) zurückgesetzt. Zusätzlich liefert der Baustein den entsprechenden Status (siehe die vorhergehende Tabelle).

Beispiel für Verwendung im ST-Editor

Programm mit Aufrufen von TCP-Bausteinen
PROGRAM TCP_Client
  USING logicals.system.network.tcp;
  VAR
    rcTCPConnect : TCP_ErrorCode := invalidHandle;
    clientCommData : tcpClientCommData;
    receiveTestMsg : STRING[30] := '';
    init : bool := true;
  END_VAR
 
  IF init THEN
    clientCommData.serverAddress := INET_ATON('127.0.0.1');
    clientCommData.serverPORT := 9999;
  END_IF;
 
  IF rcTCPConnect <> succeeded THEN
    rcTCPConnect := TCP_Connect(destinationAddress:=clientCommData.serverAddress, destinationPort:=clientCommData.serverPORT, clientHandle=>clientCommData.clientHandle);
  ELSE
    TCP_Receive(clientHandle:=clientCommData.clientHandle, data:=receiveTestMsg);
  END_IF;
END_PROGRAM
 
TYPE
  tcpServerCommData : STRUCT
    address : DWORD;
    port : UINT;
    serverHandle : logicals.system.network.tcp.TCP_ServerHandle;
    clientHandle : logicals.system.network.tcp.TCP_ClientHandle;
  END_STRUCT;
 
  tcpClientCommData : STRUCT
    serverAddress : DWORD;
    serverPORT : UINT;
    clientHandle : logicals.system.network.tcp.TCP_ClientHandle;
  END_STRUCT;
END_TYPE

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.